<?php
//全部项目公用函数jetee与thin模式共用  通过模式文件中的core自动载入 
//设置配置
function common_config(){
	//没有设置才配置
	if(!C('site_name')){
		$cfg=S('common_config');
		if (!$cfg){
			$cfg=array();
			$cfg=db('config')->getField('name,value');
			S('common_config',$cfg);
		}
		C($cfg);
	}
}
/**
 * json_encode   汉字不转 JSON_UNESCAPED_UNICODE
 * @return string
 */
function ejson($var){
	return json_encode($var,JSON_UNESCAPED_UNICODE);
}
/**
 * 检查目标文件夹是否存在，如果不存在则自动创建该目录
 *
 * @access      public
 * @param       string      folder     目录路径。
 *
 * @return      bool
 */
function make_dir($folder,$mode=0755)
{
	$reval = true;
	if (!is_dir($folder)){
		$reval = mkdir($folder,$mode,true);
	}
	return $reval;
}
/**
* 格式化时间
* @access  public
* @param   int   $time  时间戳
* @return  string
*/
function format_time($time){
	return empty($time) ? '' :date(C('TIME_FORMAT'), $time);
}
function format_date($time){
	return empty($time) ? '' :date(C('DATE_FORMAT'), $time);
}
/**
 * 创建像这样的查询: "IN('a','b')";
 * @access   public
 * @param    mix      $item_list      列表数组或字符串
 * @param    string   $field_name     字段名称 *
 * @return   void
 */
function db_create_in($item_list, $field_name = ''){
	$field_name=' '.$field_name;
	if (empty($item_list)){
		return $field_name . " IN ('') ";
	}
	else{
		if (!is_array($item_list)){
			$item_list = explode(',', $item_list);
		}
		$item_list = array_unique($item_list);
		$item_list_tmp = '';
		foreach ($item_list AS $item){
			if ($item !== ''){
				$item_list_tmp .= $item_list_tmp ? ",'$item'" : "'$item'";
			}
		}
		if(empty($item_list_tmp)){
			return $field_name . " IN ('') ";
		}
		else{
			return $field_name . ' IN (' . $item_list_tmp . ') ';
		}
	}
}
/**
 * 对 MYSQL LIKE 的内容进行转义    如果用  ->where(array('user'=>array('like|notlike')=>'%ssss%'))  db.class.php内parseLike会转义
 *
 * @access      public
 * @param       string      string  内容
 * @param       type      	0最后不会addslases  1会
 * @return      string
 */
function mysql_like_quote($str)
{
	return strtr($str, array('%' => '\%','\\' => '\\\\', '_' => '\_', '\_' => '_', "'" => "\'", '"' => '\"'));
}
/**
 *系统需要
 */
function jeHtmlspecialchars($str){
	return htmlspecialchars($str, ENT_QUOTES);
}
function jeHtmlspecialchars_decode($str){
	return htmlspecialchars_decode($str, ENT_QUOTES);
}
function exchange($table, $id, $name){
	return new exchange($table, $id, $name);
}
function escape($str){
	return jeHtmlspecialchars($str);
}
/**
 * 返回给定参数'app=code&act=show'的相应url
 * @access  public 
 * @return  str
 */
function get_url($str){
	return $str;
}
//获取缓冲 S('user') 中值
function user($item=''){
	$uid=session('uid');
	if(!$uid)
		return $item=='avatar' ? 'Public/images/avatar.jpg' : false;
	elseif($item=='')
		$return=S('user-'.$uid);
	else{
		$return=SS('user-'.$uid.'.'.$item);
	}
	if($return!==false && $return!==NULL){
		return $return;
	}else{
		$row=db()->row('select uid,password,salt,avatar,sex,qq,weixin,phone,type,money,gold_coin,rank_points,pay_points,last_visit,last_ip,visit_count,parent_id,status from '.C('DB_PREFIX').'user where uid='.$uid);
		S('user-'.$uid,$row);
		return $item ? $row[$item] : $row;
	}
}
/**
 * 把临时上传文件移到目标目录
 * @access public
 * @param   str	 tmp_file	UPLOADS_PATH.'tmp/'下文件    		'201803/1.jpg'
 * @param  str	 path		移到UPLOADS_PATH目录的些目录下    	'head_pic'
 * @return  bool
 */		
function move_file($tmp_file,$path){
	$i=UPLOADS_PATH.'tmp/'.$tmp_file;
	if($tmp_file && file_exists($i)){
		$j=UPLOADS_PATH.$path.'/'.$tmp_file;
		make_dir(dirname($j));
		return rename($i,$j);
	}
	return false;
}
